package com.stars.home.wxapi

import android.app.Activity
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import com.hwangjr.rxbus.RxBus
import com.stars.home.config.ConfigRx
import com.stars.home.utils.WeChatUtil
import com.tencent.mm.opensdk.constants.ConstantsAPI
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory

/**
 *
 *on 2021/1/8
 */
class WXPayEntryActivity : Activity(), IWXAPIEventHandler {
    override fun onReq(baseResp: BaseReq?) {
        if (baseResp?.type === ConstantsAPI.COMMAND_PAY_BY_WX) {

//            Log.e("-pay--", "errCode=: "+baseResp.hashCode())
//            when (baseResp.hashCode()) {
//                0 -> {
////                    RxBus.get().post(ConfigRx.PAY_COMPLETE, "")
////                    Toast.makeText(this, "支付成功", Toast.LENGTH_SHORT).show()
//                    //  Log.d(TAG, "onResp: resp.errCode = 0   支付成功")
//                }
//                -1 -> {
//                    Toast.makeText(this, "支付错误" + baseResp.hashCode(), Toast.LENGTH_SHORT).show()
//                    // Log.d(TAG, "onResp: resp.errCode = -1  支付错误")
//                    RxBus.get().post(ConfigRx.PAY_ERROR, "")
//                }
//                -2 -> {
//                    // Log.d(TAG, "onResp: resp.errCode = -2  用户取消")
//                    RxBus.get().post(ConfigRx.PAY_ERROR, "")
//                    Toast.makeText(this, "用户取消" + baseResp.hashCode(), Toast.LENGTH_SHORT).show()
//                }
//            }
//            finish() //这里需要关闭该页面
        }
    }

    override fun onResp(resp: BaseResp?) {


        /*  if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.app_tip);
            builder.setMessage(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));
            builder.show();
        }*/
        val errCode = resp!!.errCode

        Log.e("-pay--", "errCode=: "+errCode)
        if (errCode == 0) {    //显示充值成功的页面和需要的操作
            RxBus.get().post(ConfigRx.PAY_COMPLETE, "")
            Toast.makeText(this, "支付成功", Toast.LENGTH_SHORT).show()
        } else if (errCode == -1) {  //错误

            RxBus.get().post(ConfigRx.PAY_ERROR, "")
            Toast.makeText(this, "支付错误$errCode", Toast.LENGTH_SHORT).show()
        } else if (errCode == -2) { //用户取消
            RxBus.get().post(ConfigRx.PAY_ERROR, "")


        }
        finish() //这里需要关闭该页面


    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        RxBus.get().register(this)
        val mWXApi = WXAPIFactory.createWXAPI(this, WeChatUtil.WECHAT_APP_ID, true)
        mWXApi.handleIntent(intent, this)

    }

    override fun onDestroy() {
        super.onDestroy()
        RxBus.get().unregister(this)
    }
}
